home *** CD-ROM | disk | FTP | other *** search
- property meSprite, otherSprite, meLetter, meWetDegree, moving, delayCounter, xTick, Vpos, xDist, xLastDist, dead, meScale, recover, tixTimer, finishGameTimer, finishGameTrig, xTickValue, orgVpos
- global gmObject, sndObject
-
- on beginSprite me
- finishGameTrig = 0
- recover = 0
- dead = 0
- xDist = 0
- Vpos = 1
- xTickValue = 16
- xTick = the ticks + xTickValue
- moving = random(3) - 2
- delayCounter = 0
- meSprite = sprite(me.spriteNum)
- meLetter = meSprite.member.name.char[1]
- meWetDegree = 1
- orgVpos = meSprite.locV
- if meLetter = "t" then
- gmObject.tommy = meSprite
- otherSprite = sprite(me.spriteNum + 1)
- else
- gmObject.annika = meSprite
- otherSprite = sprite(me.spriteNum - 1)
- end if
- end
-
- on recoverX me
- finishGameTrig = 0
- recover = 0
- dead = 1
- meWetDegree = 1
- handleDryUp(me)
- xTick = the ticks + xTickValue
- delayCounter = 0
- end
-
- on getWet me
- tixTimer = the ticks
- if dead = 0 then
- meWetDegree = meWetDegree + 1
- if meWetDegree = 10 then
- if otherSprite.dead = 1 then
- finishGameTrig = 1
- finishGameTimer = the ticks
- end if
- dead = 1
- moving = 0
- meSprite.loc = meSprite.loc + point(0, 40)
- meScale = meSprite.member.scale
- repeat with n = 2 to 10
- member(meLetter & "Laf" & string(n), 1).scale = meScale
- end repeat
- end if
- setmember(me)
- else
- if meWetDegree < 10 then
- meWetDegree = meWetDegree + 1
- end if
- meSprite.member = member(meLetter & "Laf" & string(meWetDegree), 1)
- meSprite.play()
- end if
- end
-
- on handleDryUp me
- if meWetDegree > 1 then
- meWetDegree = meWetDegree - 1
- if dead = 0 then
- setmember(me)
- else
- setSitMember(me)
- end if
- else
- if dead = 1 then
- dead = 0
- moving = random(3) - 2
- meSprite.loc = meSprite.loc + point(0, -40)
- setmember(me)
- end if
- end if
- end
-
- on setSitMember me
- meSprite.member = member(meLetter & "10", 1)
- updateStage()
- meSprite.gotoFrame(11 - meWetDegree)
- updateStage()
- end
-
- on setmember me
- meSprite.member = member(meLetter & string(meWetDegree), 1)
- meSprite.member.scale = 107 - (Vpos * 7)
- updateStage()
- meSprite.gotoFrame(1)
- if meWetDegree < 10 then
- H = meSprite.locH
- meSprite.loc = point(H, orgVpos + 20 - (Vpos * 20))
- meSprite.locZ = me.spriteNum + 2 - (Vpos * 2)
- end if
- updateStage()
- end
-
- on exitFrame me
- if the frameLabel = "main" then
- if the ticks > (tixTimer + 250) then
- tixTimer = the ticks
- handleDryUp(me)
- end if
- if finishGameTrig = 1 then
- if (the ticks > (finishGameTimer + 100)) and (dead = 1) and (otherSprite.dead = 1) then
- if soundBusy(2) = 1 then
- repeat while soundBusy(2)
- end repeat
- end if
- go("interLeave")
- sound(2).play(member("dryQuick", 1))
- end if
- end if
- if dead = 0 then
- delayCounter = delayCounter + 1
- if delayCounter = 10 then
- case moving of
- 1:
- if random(5) = 1 then
- moving = random(3) - 2
- meSprite.gotoFrame(1)
- end if
- (-1):
- if random(5) = 1 then
- moving = random(3) - 2
- meSprite.gotoFrame(1)
- end if
- 0:
- if random(3) = 1 then
- moving = random(3) - 2
- meSprite.gotoFrame(1)
- end if
- end case
- if moving <> 0 then
- if meLetter = "t" then
- sndObject.respondSnd(3, 4)
- else
- sndObject.respondSnd(3, 3)
- end if
- if otherSprite.moving = 1 then
- sndObject.respondSnd(3, 5)
- end if
- if random(5) = 1 then
- v = random(3) - 2
- xPos = Vpos
- xPos = xPos + v
- if ((xPos < 1) or (xPos > 5)) = 0 then
- xDist = otherSprite.locH - meSprite.locH
- if ((otherSprite.Vpos = xPos) and ((xDist < 30) and (xDist > -30))) = 0 then
- Vpos = xPos
- setmember(me)
- end if
- end if
- end if
- end if
- delayCounter = 0
- end if
- if the ticks > xTick then
- xLastDist = xDist
- xDist = otherSprite.locH - meSprite.locH
- if ((xDist < xLastDist) and (xDist > 0)) or ((xDist > xLastDist) and (xDist < 0)) then
- if Vpos = otherSprite.Vpos then
- if (xDist < 30) and (xDist > -30) then
- if otherSprite.locH < meSprite.locH then
- moving = 1
- if otherSprite.dead = 0 then
- otherSprite.moving = -1
- end if
- else
- moving = -1
- if otherSprite.dead = 0 then
- otherSprite.moving = 1
- end if
- end if
- meSprite.loc = meSprite.loc + point(10 * moving, 0)
- otherSprite.loc = otherSprite.loc + point(10 * otherSprite.moving, 0)
- end if
- end if
- end if
- if moving <> 0 then
- v = meSprite.frame + 1
- if v = 5 then
- v = 1
- end if
- meSprite.gotoFrame(v)
- meSprite.loc = meSprite.loc + point(8 * moving, 0)
- end if
- if meSprite.locH > gmObject.stopR then
- moving = -1
- else
- if meSprite.locH < gmObject.stopL then
- moving = 1
- end if
- end if
- xTick = the ticks + xTickValue
- end if
- else
- if meSprite.member.name = (meLetter & "Laf" & meWetDegree) then
- if meSprite.frame = meSprite.member.frameCount then
- meSprite.frame = 1
- setSitMember(me)
- end if
- end if
- end if
- end if
- end
-